package cn.tedu.antcolony.passport.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * CREATE TABLE ams_admin
 * (
 *     id             bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '数据id',
 *     username   h    varchar(50)         DEFAULT NULL COMMENT '用户名',
 *     password       char(64)            DEFAULT NULL COMMENT '密码（密文）',
 *     nickname       varchar(50)         DEFAULT NULL COMMENT '昵称',
 *     avatar         varchar(255)        DEFAULT NULL COMMENT '头像URL',
 *     phone          varchar(50)         DEFAULT NULL COMMENT '手机号码',
 *     email          varchar(50)         DEFAULT NULL COMMENT '电子邮箱',
 *     description    varchar(255)        DEFAULT NULL COMMENT '简介',
 * 		dept_id        bigint(20) unsigned NOT NULL  COMMENT '部门id',
 *     enable         tinyint(3) unsigned DEFAULT 1 COMMENT '是否启用，1=启用，0=未启用',
 * 		`account_no_expired` int NULL DEFAULT 1 COMMENT '账户是否没有过期0已过期 1 正常',
 *   `credentials_no_expired` int NULL DEFAULT 1 COMMENT '密码是否没有过期0已过期 1 正常',
 *   `account_no_locked` int NULL DEFAULT 1 COMMENT '账户是否没有锁定0已锁定 1 正常',
 *     last_login_ip  varchar(50)         DEFAULT NULL COMMENT '最后登录IP地址（冗余）',
 *     login_count    int(10) unsigned    DEFAULT '0' COMMENT '累计登录次数（冗余）',
 *     gmt_last_login datetime            DEFAULT NULL COMMENT '最后登录时间（冗余）',
 *     gmt_create     datetime            DEFAULT NULL COMMENT '数据创建时间',
 *     gmt_modified   datetime            DEFAULT NULL COMMENT '数据最后修改时间',
 *     PRIMARY KEY (id)
 * ) ENGINE=InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='管理员';
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("ams_admin")
public class Admin implements Serializable {
    /**
     * 管理员id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /**
     * 用户名
     */
    private String username;

    /**
     *密码
     */
    private String password;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 头像URL
     */
    private String avatar;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 简介
     */
    private String description;

    /**
     * 员工部门id
     */
    private Long deptId;

    /**
     * 是否启用，1=启用，0=未启用'
     */
    private Integer enable;

    /**
     * 账户是否没有过期0已过期 1 正常
     */
    private Integer accountNoExpired;

    /**
     * 密码是否没有过期0已过期 1 正常
     */
    private Integer credentialsNoExpired;

    /**
     * 账户是否没有锁定0已锁定 1 正常
     */
    private Integer accountNoLocked;


    /**
     * 最后登录IP地址（冗余）
     */
    private String lastLoginIp;

    /**
     * 累计登录次数（冗余）
     */
    private Integer loginCount;

    /**
     * 最后登录时间（冗余）',
     */
    private LocalDateTime gmtLastLogin;

    /**
     * 数据创建时间'
     */
    private LocalDateTime gmtCreate;

    /**
     * 数据最后修改时间'
     */
    private LocalDateTime gmtModified;

}
